using System.Reflection;

namespace Common.Unity.Extensions.PropertyMapper
{
	class PropertyMappingExpressionContext
	{
		readonly object container;
		readonly PropertyInfo property;
		readonly object value;
		readonly object[] index;

		public PropertyMappingExpressionContext( object container, PropertyInfo property, object value, object[] index )
		{
			this.container = container;
			this.property = property;
			this.value = value;
			this.index = index;
		}

		public object Container
		{
			get { return container; }
		}

		public PropertyInfo Property
		{
			get { return property; }
		}

		public object Value
		{
			get { return value; }
		}

		public object[] Index
		{
			get { return index; }
		}
	}
}